package cn.ex.basic.mapper;

import cn.ex.basic.query.BasicQuery;

import java.util.List;

/**
 * @Author: ZeWangmu
 * @Date: 2022/06/01/13:11
 * @Description:
 *   mapper层
 */
public interface BasicMapper<T> {
    /**
     * 查询所有
     * @return
     */
    List<T> loadAll();
    /**
     * 查询一条
     */
    T loadById(Long id);
    /**
     * 新增
     */
    void save(T t);
    /**
     * 删除
     */
    void remove(Long id);
    /**
     * 修改
     */
    void update(T t);

    /**
     * 查询总条数
     */
    Long queryCount(BasicQuery basicQuery);

    /**
     * 查询每页数据
     */
    List<T> queryData(BasicQuery basicQuery);

    /**
     * 批量删除
     * @param ids
     */
    void batchRemove(Long[] ids);
}
